//
//  ZSWechatTimeLineViewController.swift
//  creativeassistant
//
//  Created by 灵工邦 on 2025/2/10.
//

import UIKit

class ZSWechatTimeLineViewController: ZSBaseViewController {
    
    lazy var topBgImageView: UIImageView = {
        let imageView = UIImageView(image: UIImage(named: "top_bg"))
        return imageView
    }()
    
    lazy var backButton: UIButton = {
        let button = UIButton(type: .custom)
        button.setImage(UIImage(named: "back"), for: .normal)
        button.adjustsImageWhenHighlighted = false
        button.addTarget(self, action: #selector(goBack(_:)), for: .touchUpInside)
        return button
    }()
    
    lazy var titleLabel: UILabel = {
        let label = UILabel()
        label.text = "朋友圈文案"
        label.textColor = UIColor(hexString: "#222222")
        label.font = UIFont.systemFont(ofSize: 20, weight: .semibold)
        return label
    }()
    
    lazy var navigationView: UIView = {
        let navigationView = UIView()
        navigationView.backgroundColor = .clear
        let titleView = UIView()
        navigationView.addSubview(titleView)
        titleView.snp.makeConstraints { make in
            make.bottom.left.right.equalToSuperview()
            make.height.equalTo(44)
        }
        
        titleView.addSubview(backButton)
        backButton.snp.makeConstraints { make in
            make.left.equalTo(12)
            make.centerY.equalToSuperview()
            make.width.height.equalTo(32)
        }
        
        titleView.addSubview(titleLabel)
        titleLabel.snp.makeConstraints { make in
            make.left.equalTo(backButton.snp.right)
            make.centerY.equalTo(backButton)
        }
        
        return navigationView
    }()
    
    lazy var titleImageView: UIImageView = {
        let imageView = UIImageView(image: UIImage(named: "hipyq"))
        return imageView
    }()
    
    lazy var descLabel: UILabel = {
        let label = UILabel()
        label.textColor = UIColor(hexString: "#777777")
        label.font = UIFont.systemFont(ofSize: 14)
        label.numberOfLines = 0
        label.text = "在为发朋友圈绞尽脑汁？朋友圈文案助手来拯救你啦！写下你要创作的内容，一键完成朋友圈文案创作。"
        return label
    }()
    
    lazy var creationButton: UIButton = {
        let button = UIButton(type: .custom)
        button.setBackgroundImage(UIImage(named: "kscz"), for: .normal)
        button.adjustsImageWhenHighlighted = false
        button.adjustsImageWhenDisabled = false
        button.addTarget(self, action: #selector(goCreation), for: .touchUpInside)
        return button
    }()
    
    lazy var tableView: UITableView = {
        let tableView = UITableView(frame: .zero, style: .grouped)
        tableView.dataSource = self
        tableView.delegate = self
        tableView.backgroundColor = .clear
        tableView.showsVerticalScrollIndicator = false
        tableView.scrollsToTop = false
        tableView.separatorStyle = .none
        tableView.register(UINib(nibName: "ZSWechatTimeLineCell", bundle: nil), forCellReuseIdentifier: "ZSWechatTimeLineCell")
        tableView.sectionHeaderHeight = CGFloat.zero
        tableView.sectionFooterHeight = CGFloat.zero
        tableView.rowHeight = UITableView.automaticDimension
        if #available(iOS 15, *) {
            tableView.sectionHeaderTopPadding = 0
        }
        return tableView
    }()
    
    lazy var datas: Array<ZSWechatTimeLineModel> = {
        var list = Array<ZSWechatTimeLineModel>()
        let textArray: [String] = [
            "流浪的心，在撒哈拉沙漠的星光下找到了归宿。",
            "梦里花落知多少，醒来仍是那片温柔的沙漠蓝。",
            "简单的行囊，装满了对远方无尽的好奇与向往。",
            "爱情，是在异国他乡偶遇的一抹温柔夕阳。",
            "用文字记录下的，不仅是旅途，更是心灵的轨迹。",
            "面朝大海，春暖花开，心中有诗，处处皆风景。",
            "月光下，麦田里的守望者，守护着内心的纯净与宁静。",
            "每一颗星辰，都是远方寄来的未完信件。",
            "幸福，是简单日子里的一缕炊烟，温暖而遥远。",
            "春暖花开之际，愿你我都能找到那片心灵的桃花源。",
            "在孤独的跑道上，我与自己的影子赛跑，寻找生活的意义。",
            "咖啡馆的角落，总有一盏灯为我留着，等待故事的开始。",
            "记忆像一本旧相册，偶尔翻阅，总能找到温暖的瞬间。",
            "雨天的电车，载着我对未来的憧憬，缓缓前行。",
            "每个夜晚，我用文字编织梦境，与灵魂深处的自己对话。",
            "爱情是一场华丽的盛宴，终究归于平淡的米饭与青菜。",
            "红玫瑰与白玫瑰，不过是生命中不同的风景，各有千秋。",
            "岁月悠悠，那些旧上海的灯火阑珊，依旧在心中闪烁。",
            "旗袍下的秘密，是女人对生活的热爱与坚持。",
            "时光荏苒，唯有文字能留住那些稍纵即逝的美好。",
            "生活，就像那条蜿蜒的河流，有平静，也有激流。",
            "每个人的心中都有一片荒原，需要自己去开垦与种植。",
            "岁月无声，却在每个人的脸上刻下了深深浅浅的痕迹。",
            "幸福，不在于拥有多少，而在于珍惜眼前人与事。",
            "生命中的每一次离别，都是为了更好的重逢做准备。",
            "星空下的誓言，轻如羽毛，却重如千斤。",
            "在老城的石板路上，每一步都踏出了岁月的回响。",
            "清晨的第一缕阳光，是大地对万物的温柔唤醒。",
            "书页间藏匿的秘密，如同夏日午后的微风，轻轻拂过心田。",
            "每一次旅行，都是一次心灵的洗礼，让灵魂更加自由。",
            "窗外的雨滴，敲打着玻璃，也敲打着我的思绪，滴滴答答，是夜的低语。",
            "青春是一本太仓促的书，我们含着泪，一读再读。",
            "夕阳下的老树，见证了无数离合悲欢，依旧静默如初。",
            "梦里，我是一片云，随风漂泊，自在逍遥。",
            "每个人的心底，都有一片未被发现的海洋，藏着无尽的梦想与渴望。",
            "月光洒满小径，每一步都踏出了银色的诗行。",
            "岁月是一场有去无回的旅行，好的坏的都是风景。",
            "在这喧嚣的世界里，找一片静谧，与自己对话，倾听内心的声音。",
            "花开一季，人活一世，皆有定时，学会珍惜，方能无悔。",
            "思念，如同夜空中最亮的星，指引着我前行的方向。",
            "春日里，每一朵花都在诉说着生命的奇迹，静静地绽放，默默地凋零。",
            "人生就像一场戏，我们都是演员，扮演着各自的角色，悲喜交加。",
            "时光深处，总有一段记忆，温暖着每一个孤独的夜晚。",
            "每个人的生命里，都有那么一个人，惊艳了时光，温柔了岁月。",
            "走过四季，看尽繁华，才明白，简单才是最真的幸福。",
            "在这纷扰的尘世间，保持一颗纯净的心，如同雨后初晴的天空。",
            "生命中的每一次遇见，都是命运的安排，值得我们用心去感受，去珍惜。",
            "清晨的露珠，如同初生的希望，晶莹剔透，闪烁着生命的光芒。",
            "岁月悠悠，唯有爱与梦想，不可辜负。",
            "每一个不曾起舞的日子，都是对生命的辜负。",
            "在这漫长的人生旅途中，愿我们都能找到属于自己的那片星空。",
            "人生就像一场马拉松，不在乎起点如何，重要的是坚持到终点。",
            "心中有爱，处处皆温暖；眼中有光，前路不迷茫。",
            "岁月静好，现世安稳，愿你我都能拥有这样的时光。",
            "每一次离别，都是为了更好的相遇，让我们带着微笑，继续前行。",
            "在这浩瀚的宇宙中，我们都是渺小的存在，但正是这些渺小，构成了世界的精彩。",
            "青春是一本太仓促的书，但每一页都值得我们用心去书写。",
            "人生就像一场旅行，不必在乎目的地，在乎的是沿途的风景以及看风景的心情。",
            "每个人的生命里，都有那么一束光，照亮前行的路，温暖着心灵。",
            "在这喧嚣的世界里，保持一颗宁静的心，如同秋日里的菊花，独自芬芳。",
            "岁月如歌，人生如梦，愿我们都能活出自己的精彩。",
            "生命中的每一次选择，都是对未来的投资，愿我们都能做出正确的决定。",
            "在这漫长的岁月里，愿我们都能保持一颗年轻的心，永远热爱生活。",
            "人生就像一场戏，我们都是演员，但请记得，做最真实的自己。",
            "每个人的生命里，都有那么一段时光，温暖而美好，值得我们去回忆。",
            "在这纷扰的尘世间，愿我们都能找到属于自己的那份宁静与安详。",
            "岁月如梭，光阴似箭，但请记得，珍惜当下，活在每一个瞬间。",
            "人生就像一本书，封面是父母给的，内容却是自己写的，愿我们都能写出精彩的一页。",
            "在这浩瀚的宇宙中，我们都是孤独的旅者，但请相信，总有一颗星会为你而亮。",
            "青春是一场盛大的狂欢，但请记得，狂欢之后，仍需回归平静。",
            "生命中的每一次挑战，都是成长的契机，愿我们都能勇敢面对，不断成长。",
            "在这喧嚣的世界里，愿我们都能保持一颗纯净的心，如同初生的婴儿，对世界充满好奇。",
            "岁月无声，却在每个人的脸上刻下了深深的痕迹，但请记得，内心的纯真永不老去。",
            "人生就像一场雨，有急有缓，有深有浅，但请相信，雨后总会有晴天。",
            "在这漫长的旅途中，愿我们都能找到属于自己的那份坚定与勇气。",
            "生命中的每一次相遇，都是缘分的安排，愿我们都能珍惜这份难得的缘分。",
            "青春是一场美丽的邂逅，但请记得，邂逅之后，仍需继续前行。",
            "在这纷扰的尘世间，愿我们都能保持一颗善良的心，如同春日里的暖阳，温暖着每一个人。",
            "岁月如歌，人生如梦，但请记得，每一个梦都值得我们去追寻。",
            "生命中的每一次离别，都是为了更好的重逢，愿我们都能带着微笑，迎接每一次的重逢。",
            "在这浩瀚的宇宙中，我们都是渺小的存在，但请相信，我们的存在都有其独特的意义。",
            "青春是一场短暂的旅行，但请记得，旅行中的每一个瞬间都值得我们去珍藏。",
            "在这喧嚣的世界里，愿我们都能保持一颗宁静的心，如同秋日里的落叶，静静地飘落，归于尘土。",
            "岁月如梭，光阴似箭，但请记得，时间无法带走我们的回忆与情感。",
            "人生就像一场戏，我们都是演员，但请记得，做最真实的自己，才是最美的表演。",
            "在这漫长的岁月里，愿我们都能保持一颗乐观的心，如同冬日里的阳光，驱散寒冷，带来温暖。",
            "生命中的每一次选择，都是对未来的投资，愿我们都能做出无悔的决定，收获美好的未来。",
            "在这纷扰的尘世间，愿我们都能找到属于自己的那份热爱与执着，勇敢地追求自己的梦想。",
            "岁月无声，却在每个人的心中留下了深深的烙印，但请记得，内心的火焰永不熄灭。",
            "人生就像一场雨后的彩虹，美丽而短暂，愿我们都能珍惜这份美好，勇敢地面对生活的挑战。",
            "在这浩瀚的宇宙中，我们都是孤独的旅者，但请相信，总有一颗星会照亮你的前行之路。",
            "青春是一场美丽的绽放，但请记得，绽放之后，仍需保持内心的宁静与平和。"
        ]
        textArray.forEach { text in
            let model = ZSWechatTimeLineModel()
            model.content = text
            list.append(model)
        }
        return list
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        setupViews()
    }
    
    fileprivate func setupViews() {
        view.backgroundColor = UIColor(hexString: "#F0F3FD")
        view.addSubview(topBgImageView)
        topBgImageView.snp.makeConstraints { make in
            make.top.left.right.equalToSuperview()
            make.height.equalTo(UIScreen.main.bounds.size.width / 375 * 350.5)
        }
        view.addSubview(navigationView)
        navigationView.snp.makeConstraints { make in
            make.top.left.right.equalToSuperview()
            make.height.equalTo(UIApplication.shared.statusBarFrame.size.height + 44)
        }
        view.addSubview(titleImageView)
        titleImageView.snp.makeConstraints { make in
            make.top.equalTo(navigationView.snp.bottom).offset(44)
            make.left.equalTo(15)
            make.width.equalTo(312.5)
            make.height.equalTo(24)
        }
        view.addSubview(descLabel)
        descLabel.snp.makeConstraints { make in
            make.top.equalTo(titleImageView.snp.bottom).offset(11)
            make.left.equalTo(15)
            make.right.equalTo(-15)
        }
        
        view.addSubview(creationButton)
        creationButton.snp.makeConstraints { make in
            make.bottom.equalTo(-34)
            make.centerX.equalToSuperview()
            make.width.equalTo(351)
            make.height.equalTo(40)
        }
        
        view.addSubview(tableView)
        tableView.snp.makeConstraints { make in
            make.top.equalTo(descLabel.snp.bottom).offset(12)
            make.left.right.equalToSuperview()
            make.bottom.equalTo(creationButton.snp.top).offset(-20)
        }
    }
    
    @objc func goBack(_ sender: UIButton) {
        navigationController?.popViewController(animated: true)
    }
    
    @objc func goCreation() {
        let vc = ZSAssistantViewController()
        vc.aiIdentity = 5
        UIApplication.topViewController()?.navigationController?.pushViewController(vc, animated: true)
    }

}

extension ZSWechatTimeLineViewController: UITableViewDataSource, UITableViewDelegate {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return datas.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "ZSWechatTimeLineCell") as? ZSWechatTimeLineCell else {
            fatalError("Unable to dequeue Cell")
        }
        cell.selectionStyle = .none
        cell.model = datas[indexPath.row]
        return cell
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let model = datas[indexPath.row]
        if !model.isSelect {
            model.isSelect = !model.isSelect
            self.tableView.reloadData()
        }
    }
}
